﻿using System;
using System.Collections.Generic;
using System.Windows;
using System.Text;

namespace ImageTagToolViewModel.Interfaces
{
    /// <summary>
    /// Contains the methods, which the implementing MainWindow must have.
    /// </summary>
    public interface IMainWindow
    {
        /// <summary>
        /// Closes the MainWindow.
        /// </summary>
        void CloseWindow();

        /// <summary>
        /// Shows the About-box.
        /// </summary>
        void ShowAboutBox();

        /// <summary>
        /// Sets the current image presented in the main window.
        /// </summary>
        /// <param name="path">The path of the image (absolute or relative).</param>
        void ShowPicture(string path);

        /// <summary>
        /// Opens a dialog, where the user can specify, which folder, including its subfolders, to scan for images.
        /// </summary>
        /// <returns>The path to open.</returns>
        string OpenFolder();

        /// <summary>
        /// Shows a message box.
        /// </summary>
        /// <param name="message">The text to display.</param>
        void ShowMessageBox(string message);

        /// <summary>
        /// Changes the size of the actually shown picture on the UI.
        /// </summary>
        void ResizePicture(int width, int height);
    }
}
